<template>
	<view>
	</view>
</template>

<script setup>
	/*
	1.for循环直接操作索引，没有额外的函数调用和上下文，所以性能是最快的
	2.for可以使用break终止，forEach不支持跳出循环
	*/
	
	//1.性能上的比较 for > forEach
	
	let arrs = [...Array(9999999).keys()]
	let total = 0;
	let startTime = Date.now();
	// arrs.forEach(item=>{
	//     if(item>10)return;
	// 	total+=item;
	// })
	for (var i = 0; i < arrs.length; i++) {
	    if(arrs[i]>10)break;
		total+=arrs[i];
	}
	let endTime = Date.now();
	let countTime = endTime - startTime;
	console.log("计数---->"+total);
	console.log("消耗时间---->"+countTime);
	
	//2.异步同步化的支持度
	
	//forEach函数内，不支持await异步等待。
	
	// let arrs = [1,2,3];
	// let datas=[];
	// arrs.forEach(async item=>{
	// 	const {data} = await uni.request({
	// 		url:"http://jsonplaceholder.typicode.com/posts/"+item
	// 	})
	// 	datas.push(data)
	// })
	// console.log(datas);
	
	//for支持await异步等待，但是这种查询效率会非常低
	
	// async function fetchData() {
	// 	let arrs = [1,2,3]
	// 	let datas=[];
	// 	for (let i = 0; i < arrs.length; i++) {	
	// 		const {data} = await uni.request({
	// 			url:"http://jsonplaceholder.typicode.com/posts/"+arrs[i]
	// 		});
	// 		datas.push(data);
	// 	}
	// 	console.log(datas);
	// }
	// fetchData();
		
</script>

<style lang="scss" scoped>

</style>
